package com.syh.jn.scm.service.api.upstream.sale;

import cn.redscarf.commons.wrapper.Wrapper;
import com.syh.jn.scm.dto.support.FilesDto;
import com.syh.jn.scm.dto.upstream.sale.SaleStatisticalAmountVo;
import com.syh.jn.scm.dto.upstream.sale.UpSaleOrderVo;
import com.syh.jn.scm.service.core.BaseService;

import java.util.List;

public interface UpSaleOrderService extends BaseService<Object, Object, UpSaleOrderVo, Long> {
    /**
     * 确认订单
     *
     * @param id 订单id
     */
    void confirm(Long id);

    /**
     * 反确认订单
     *
     * @param id 订单id
     */
    void antiConfirm(Long id);

    /**
     * 取消订单
     *
     * @param id 订单id
     */
    void cancel(Long id);

    /**
     * 上传单据图片
     *
     * @param dto
     */
    public void upload(FilesDto dto);

    SaleStatisticalAmountVo statisticalAmount(Wrapper we);

    List<SaleStatisticalAmountVo> statisticalAmountByCustomer(Wrapper we);

    List<SaleStatisticalAmountVo> statisticalAmountByGoods(Wrapper we);
}
